package framework.aop.aspect;

import java.lang.reflect.Method;

/**
 * interface for class that define the cut point and it's surrounding aspect method
 */
public interface InchJoinPoint {
    //transaction
    Method getMethod();
    //get the parameters
    Object[] getArguments();
    //return instance
    Object getThis();
    //add self defined attribute to the join point(point cut)
    void setUserAttribute(String key, Object value);
    //get attributes
    Object getUserAttribute(String key);
}
